package com.jdbc.util;

import java.sql.*;
import java.util.ResourceBundle;

/*
 * @author 李小玲
 * @createDate 2022/4/3
 * @description JDBC工具类
 */
public class DButil {

    /**
     * 获取数据库连接对象
     * @return conn 连接对象
     * @throws SQLException
     */
    public  Connection getConnection() throws SQLException {

        //采用jdbc配置文件+资源绑定器获取连接mysql所需的数据
            ResourceBundle bundle=ResourceBundle.getBundle("resources.jdbc");
            String driver=bundle.getString("driver");
            String url=bundle.getString("url");
            String name=bundle.getString("name");
            String password=bundle.getString("password");

//        String driver="com.mysql.cj.jdbc.Driver";
//        String url="jdbc:mysql://localhost:3306/exam";
//        String name="hai";
//        String password="667633";

        //注册驱动
            try {
                 Class.forName(driver);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            return DriverManager.getConnection(url,name,password);
    }

    /**
     * @description 将（rs ps conn）流关闭方法封装
     * @param rs 查询结果集对象
     * @param ps 数据库操作对象
     * @param conn 数据库连接对象
     */
    public  void close(ResultSet rs , Statement ps, Connection conn){

        //ResultSet
        if (rs!=null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        //PreparedStatement
        if(ps!=null) {
            try {

                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        //Connection
        if(conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }
}
